package dao.v2;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import model.AddressVO;
import model.GoodStandardVO;
import model.GoodVO;
import model.MemberCartVO;
import model.MemberVO;
import model.OrderGoodVO;
import model.OrderPayVO;
import model.OrderTimer;
import model.OrderVO;

public interface MemberCartVOMapper {


	List<MemberCartVO> selectmemberCartListById(@Param("id")String id);

	//boolean deleteMemberCarById(@Param("id")String id);

	//int upDateMemberCarById(@Param("cart_ids")String[] arrId, @Param("member_id")String id);

	//int upDateMemberCart(@Param("MemberCartList")List<MemberCartVO> list);

	int upDateMemberCart(MemberCartVO memberCartVO);
	
	int upDateMemberCartVo(MemberCartVO memberCartVO);

	int deleteMemberCarById(@Param("cart_ids")String[] arrId, @Param("member_id")String id);

	String getPaidProfit(@Param("member_id")String member_id);

	String getUseCoupons(@Param("good_standard_id")String[] arrId);

	String getDecreasePrice(@Param("good_standard_id")String[] arrId);

	List<MemberCartVO> selectGoodsList(@Param("id")String id, @Param("cart_ids")String[] arrCartId);
	
	List<MemberCartVO> getGoodSellPrice(@Param("good_standard_id")String[] arrId);

	int getCartNum(String member_id);

	void addCart(@Param("good_standard_id")String id, @Param("member_id")String member_id, @Param("num")String num, @Param("lang")String lang);

	List<MemberCartVO> selectmemberCartListBuy(@Param("cart_ids")String cart_ids, @Param("member_id")String member_id);
	
	int checkMemberCartId(@Param("member_id")String member_id, @Param("cart_id")String cart_id);
	
	int updateMemberCartCheck(@Param("cart_id")String cart_id, @Param("check")String check,@Param("member_id")String member_id);
	
	String checkCartExsit(@Param("standard_id")String standard_id, @Param("member_id")String member_id);
	
	int checkMaxNum(@Param("standard_id")String standard_id, @Param("member_id")String member_id, @Param("num")String num);
	
	MemberCartVO selectGoodInformationtBuyOne(@Param("standard_id")String standard_id, @Param("num")String num);
	
	String selectCartGoodNum(@Param("member_id")String member_id, @Param("lang")String lang);
	
	String selectCompanyName(String company_id);
	
	void updateMemberCart(@Param("uP_cartVO")MemberCartVO uP_cartVO);
	
	
	void addCartNum(@Param("cart_id")String id, @Param("num")String num);
	
	List<MemberCartVO> getMemberCardById(@Param("cart_id")String[] id);
	
	List<GoodStandardVO> getGoodStandardListByCartId(@Param("cart_id")String[] id);
	
	List<GoodStandardVO> getGoodStandardListById(@Param("id")String[] id);
	
	List<GoodVO> getGoodByStandardId(@Param("standard_id")String[] standard_id);
	
	MemberVO  getMemberById(String member_id);
	
	String getGoodNameByGoodId(String good_id);
	
	String getGoodJoinMoneyByGoodId(String good_id);
	
	void InsertOrder(OrderVO order);
	
	void addOrderGood(OrderGoodVO orderGood);

	String getGoodStateByGoodId(String id);

	List<MemberCartVO> getCartStandarsIdAndNuns(String cart_ids);

	List<MemberCartVO> selectmemberCartListBuyOne(@Param("standard_id")String standard_id, @Param("num")String num);

	List<MemberCartVO> checkBuyGoosNumBySthandardTab(String cart_ids);
	
	int checkMemberCart(@Param("member_id")String member_id, @Param("cart_id")String cart_id);
	
	void addOrderTimer(OrderTimer orderTime);
	
	int updStandardNum(@Param("standard_id")String standard_id, @Param("num")String num);
	
	GoodStandardVO getGoodStrandardById(String standard_id);
	
	String  addOrderPay(OrderPayVO orderPay);
	
	void updOrderPayNo(@Param("order_id")String order_id , @Param("order_pay_no")String order_pay_no);
	
	int getCanUseTicket(String member_id);
	
	int getSumTicket(@Param("id")String id, @Param("num")String num);

	List<MemberCartVO> selectNewMemberCartList(@Param("member_id")String member_id, @Param("lang")String lang);

	List<MemberCartVO> selectCartList(@Param("member_id")String member_id, @Param("lang")String lang);

	List<MemberCartVO> selectCartListByList(@Param("tempList")List<MemberCartVO> tempList);

	void updateShowYn(@Param("upList1")ArrayList<MemberCartVO> upList1);

	void updateAllShowYnByMemberId(String member_id);

	AddressVO getMemberCartAddress(@Param("member_id")String member_id,@Param("address_id")String address_id);

	int checkCartsStandardNums(@Param("cart_ids")String cart_ids);

	List<MemberCartVO> getMembercartByIds(@Param("cart_ids")String cart_ids,@Param("address_id")String address_id);

	MemberCartVO getCartStandardById(@Param("standard_id")String standard_id,@Param("address_id")String address_id);
	
	void updateMemberCartList(@Param("upList2")ArrayList<MemberCartVO> upList2);

	List<MemberCartVO> getInvalidList(@Param("member_id")String member_id, @Param("lang")String lang);

	List<MemberCartVO> getCartList(@Param("member_id")String member_id, @Param("lang")String lang);

	int getPackageCountByMemberId(String member_id);

	int checkLimitedNums(Map<String, String> cart_ids);

	String checkLimitedNumsByStandardId(String standard_id);


	
}
